#pragma once

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
typedef int LTDateType;

typedef struct ListNode
{
	struct ListNode* _prev;
	struct ListNode* _next;
	LTDateType _data;
}ListNode;

ListNode* CreateList();

void ListDestroy(ListNode* phead);

void ListInsert(ListNode* pos, LTDateType x);

void ListErase(ListNode* pos);

void ListPushBack(ListNode* phead, LTDateType x);

void ListPushFront(ListNode* phead, LTDateType x);

void ListPopBack(ListNode* phead);

void ListPopFront(ListNode* phead);

void ListPrint(ListNode* phead);